package com.example.map_20210624;

import java.util.HashMap;
import java.util.Hashtable;

public class HashMap_HashTable {
    /**
     * 共同点：1、都是双列集合 key-value 2、底层都使用哈希算法
     * 区别：1、hashMap线程不安全，效率比较高 1.2版本才有；  hashTable线程安全，效率比较低，1.0版本之前就有
     * 2、hashMap key-value都可以为null； hashTable不能存null值
     */
    private static HashMap<Object,Object> hashMap = new HashMap<>();
    private static Hashtable<Object,Object> hashtable = new Hashtable<>();
    public static void main(String[] args) {

        try {
            int a = 10 / 0;
        }catch (ArithmeticException a){
            System.out.println("a="+a);

        }

        hashMap.put(null,null);
        System.out.println(hashMap);
        System.out.println("---------------------------");
        hashtable.put(null,null);//synchronized java.lang.NullPointerException
        System.out.println(hashtable);
    }

}
